home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / pretty27.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  35KB  |  1,744 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "pretty.h"
  9.  
  10.  
  11. T0* r280language_name(void){
  12. T0* R=NULL;
  13. R=((T0*)ms12_50768);
  14. return R;
  15. }
  16. /*No:NATIVE_INLINE_WITH_CURRENT.pretty_print*/
  17. /*No:NATIVE_INLINE_WITH_CURRENT.fz_c_inlinewithcurrent*/
  18. /*No:CALL_INFIX_INT_DIV.feature_name*/
  19. /*No:CALL_INFIX_INT_DIV.right_brackets*/
  20.  
  21.  
  22. T0* r118start_position(T118* C){
  23. T0* R=NULL;
  24. R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  25. return R;
  26. }
  27.  
  28.  
  29. T0* r118add_comment(T118* C,T0* a1){
  30. T0* R=NULL;
  31. /*[IF*/
  32. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  33. R=(T0*)C;
  34. }
  35. else{
  36. {T214*n=malloc(sizeof(*n));
  37. *n=M214;
  38. r214make(n,(T0*)C,a1);
  39. R=(T0*)n;
  40. }
  41. }
  42. /*FI]*/
  43. return R;
  44. }
  45.  
  46.  
  47. T2 r118to_integer(T118* C){
  48. T2 R=0;
  49. r118error(r118start_position(C),((T0*)ms12_45846));
  50. return R;
  51. }
  52.  
  53.  
  54. void r118bracketed_pretty_print(T118* C){
  55. r310put_character((T310*)(oBC11fmt),'\50');
  56. r118pretty_print(C);
  57. r310put_character((T310*)(oBC11fmt),'\51');
  58. }
  59.  
  60.  
  61. void r118print_op(T118* C){
  62. r310put_character((T310*)(oBC11fmt),'\40');
  63. /*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
  64. r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
  65. }/*]*/
  66. r310put_character((T310*)(oBC11fmt),'\40');
  67. }
  68.  
  69.  
  70. T0* r118to_runnable(T118* C,T0* a1){
  71. T0* R=NULL;
  72. T0* _rf=NULL;
  73. T0* _tbee=NULL;
  74. T0* _at=NULL;
  75. T0* _tt=NULL;
  76. T0* _a=NULL;
  77. T0* _t=NULL;
  78. _t=r118runnable_expression((C)->_target/*4*/,a1);
  79. _a=r118runnable_args((C)->_arguments/*8*/,a1);
  80. _tt=X89result_type(_t);
  81. _at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  82. /*[IF*/
  83. /*AF*//*AE*/
  84. /*FI]*/
  85. _rf=r118run_feature_for(C,_t,a1);
  86. /*[IF*/
  87. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  88. C->_target=_t;
  89. C->_arguments=_a;
  90. C->_run_feature=_rf;
  91. r118run_feature_match(C,a1);
  92. R=(T0*)C;
  93. }
  94.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  95. R=(T0*)C;
  96. }
  97. else{
  98. {T118*n=malloc(sizeof(*n));
  99. *n=M118;
  100. r118with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  101. R=(T0*)n;
  102. }
  103. }
  104. /*FI]*/
  105. return R;
  106. }
  107. /*No:CALL_INFIX_INT_DIV.fz_bad_argument*/
  108. /*No:CALL_INFIX_INT_DIV.fz_iinaiv*/
  109.  
  110.  
  111. T0* r118result_type(T118* C){
  112. T0* R=NULL;
  113. T0* _tla=NULL;
  114. R=X312result_type((C)->_run_feature/*16*/);
  115. /*[IF*/
  116. if(X62is_like_current(R)){
  117. R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  118. }
  119. else{
  120. _tla=R;
  121. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  122. case 242: 
  123. break;
  124. default:
  125. _tla=NULL;
  126. };/*[IF*/
  127. if((_tla)!=((void*)(NULL))){
  128. R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  129. }
  130. /*FI]*/
  131. }
  132. /*FI]*/
  133. return R;
  134. }
  135. /*No:CALL_INFIX_INT_DIV.run_feature*/
  136.  
  137.  
  138. T0* r118runnable_args(T0* a1,T0* a2){
  139. T0* R=NULL;
  140. R=r132to_runnable(((T132*)a1),a2);
  141. /*[IF*/
  142. if((R)==((void*)(NULL))){
  143. r37add_position(r132start_position(((T132*)a1)));
  144. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
  145. r37fatal_error((T37*)(oBC11eh),b1);
  146. }/*]*/
  147. }
  148. /*FI]*/
  149. return R;
  150. }
  151. /*No:CALL_INFIX_INT_DIV.us_slash_slash*/
  152.  
  153.  
  154. void r118with(T118* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  155. C->_target=a1;
  156. C->_feature_name=a2;
  157. C->_arguments=a3;
  158. C->_run_feature=a4;
  159. r118run_feature_match(C,a5);
  160. }
  161. /*No:CALL_INFIX_INT_DIV.fatal_error*/
  162.  
  163.  
  164. void r118run_feature_match(T118* C,T0* a1){
  165. r118run_feature_has_result(C);
  166. r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  167. }
  168. /*No:CALL_INFIX_INT_DIV.arguments*/
  169.  
  170.  
  171. T0* r118runnable_expression(T0* a1,T0* a2){
  172. T0* R=NULL;
  173. R=X89to_runnable(a1,a2);
  174. /*[IF*/
  175. if((R)==((void*)(NULL))){
  176. r37add_position(X89start_position(a1));
  177. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
  178. r37fatal_error((T37*)(oBC11eh),b1);
  179. }/*]*/
  180. }
  181. /*FI]*/
  182. return R;
  183. }
  184. /*No:CALL_INFIX_INT_DIV.left_brackets*/
  185. /*No:CALL_INFIX_INT_DIV.implicit_cast*/
  186.  
  187.  
  188. void r118print_as_target(T118* C){
  189. r310put_character((T310*)(oBC11fmt),'\50');
  190. r118pretty_print(C);
  191. r310put_character((T310*)(oBC11fmt),'\51');
  192. r310put_character((T310*)(oBC11fmt),'\56');
  193. }
  194. /*No:CALL_INFIX_INT_DIV.arg1*/
  195.  
  196.  
  197. void r118run_feature_has_result(T118* C){
  198. /*[IF*/
  199. if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  200. r37add_position(X312start_position((C)->_run_feature/*16*/));
  201. r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  202. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
  203. r37fatal_error((T37*)(oBC11eh),b1);
  204. }/*]*/
  205. }
  206. /*FI]*/
  207. }
  208.  
  209.  
  210. T0* r118run_feature_for(T118* C,T0* a1,T0* a2){
  211. T0* R=NULL;
  212. T0* _rc=NULL;
  213. _rc=X62run_class(X89result_type(a1));
  214. R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
  215. return R;
  216. }
  217. /*No:CALL_INFIX_INT_DIV.target*/
  218.  
  219.  
  220. void r118error(T0* a1,T0* a2){
  221. r37add_position(a1);
  222. r37error((T37*)(oBC11eh),a2);
  223. }
  224. /*No:CALL_INFIX_INT_DIV.precedence*/
  225.  
  226.  
  227. void r118make(T118* C,T0* a1,T0* a2,T0* a3){
  228. C->_target=a1;
  229. {T121*n=malloc(sizeof(*n));
  230. *n=M121;
  231. r121make(n,r118operator(),a2);
  232. C->_feature_name=(T0*)n;
  233. }
  234. {T132*n=malloc(sizeof(*n));
  235. *n=M132;
  236. /*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
  237. /*]*/
  238. C->_arguments=(T0*)n;
  239. }
  240. }
  241. /*No:CALL_INFIX_INT_DIV.is_current*/
  242.  
  243.  
  244. void r118pretty_print(T118* C){
  245. /*[IF*/
  246. if((X89precedence((C)->_target/*4*/))==(13)){
  247. X89pretty_print((C)->_target/*4*/);
  248. }
  249.  else if((8)>(X89precedence((C)->_target/*4*/))){
  250. X89bracketed_pretty_print((C)->_target/*4*/);
  251. }
  252.  else if((8)<(X89precedence((C)->_target/*4*/))){
  253. X89pretty_print((C)->_target/*4*/);
  254. }
  255. /*AF*/else{
  256. X89pretty_print((C)->_target/*4*/);
  257. }
  258. /*FI]*/
  259. r118print_op(C);
  260. /*[IF*/
  261. if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
  262. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  263. }
  264.  else if((8)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  265. X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  266. }
  267.  else if((8)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  268. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  269. }
  270.  else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  271. }
  272. /*FI]*/
  273. }
  274. /*No:CALL_INFIX_INT_DIV.is_void*/
  275.  
  276.  
  277. T0* r118operator(void){
  278. T0* R=NULL;
  279. R=((T0*)ms13_194);
  280. return R;
  281. }
  282. /*No:CALL_INFIX_INT_DIV.atomic_precedence*/
  283. /*No:RUN_FEATURE_8.use_current_state*/
  284. /*No:RUN_FEATURE_8.actuals_clients*/
  285.  
  286.  
  287. T0* r324start_position(T324* C){
  288. T0* R=NULL;
  289. R=r276start_position((T276*)((C)->_base_feature/*32*/));
  290. return R;
  291. }
  292. /*No:RUN_FEATURE_8.us_twin*/
  293.  
  294.  
  295. T2 r324integer_value(T324* C,T0* a1){
  296. T2 R=0;
  297. T0* _n=NULL;
  298. _n=X65to_string((C)->_name/*16*/);
  299. /*[IF*/
  300. if((((T0*)ms13_22776))==((void*)(_n))){
  301. R= T2BITS ;
  302. }
  303.  else if((((T0*)ms13_29456))==((void*)(_n))){
  304. R= T3BITS ;
  305. }
  306. else{
  307. r37add_position(a1);
  308. r37add_position(r324start_position(C));
  309. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_45846);
  310. r37fatal_error((T37*)(oBC11eh),b1);
  311. }/*]*/
  312. }
  313. /*FI]*/
  314. return R;
  315. }
  316. /*No:RUN_FEATURE_8.ucs_not_computed*/
  317. /*No:RUN_FEATURE_8.fz_iinaiv*/
  318. /*No:RUN_FEATURE_8.us_integer_bits*/
  319.  
  320.  
  321. T0* r324run_class(T324* C){
  322. T0* R=NULL;
  323. R=X62run_class((C)->_current_type/*4*/);
  324. return R;
  325. }
  326. /*No:RUN_FEATURE_8.result_type*/
  327. /*No:RUN_FEATURE_8.base_feature*/
  328. /*No:RUN_FEATURE_8.ensure_assertion*/
  329. /*No:RUN_FEATURE_8.us_character_bits*/
  330.  
  331.  
  332. T2 r324arg_count(T324* C){
  333. T2 R=0;
  334. /*[IF*/
  335. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  336. R=/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
  337. }
  338. /*FI]*/
  339. return R;
  340. }
  341.  
  342.  
  343. T6 r324is_exported_in(T324* C,T0* a1){
  344. T6 R=0;
  345. R=r83gives_permission_to((T83*)(r324clients(C)),a1);
  346. return R;
  347. }
  348. /*No:RUN_FEATURE_8.fatal_error*/
  349. /*No:RUN_FEATURE_8.arguments*/
  350.  
  351.  
  352. void r324initialize(T324* C){
  353. T0* _type_bit_ref=NULL;
  354. T0* _rf=NULL;
  355. T0* _n=NULL;
  356. _n=X65to_string(/*(IRF4.6first_name*/r67item(((T67*)(((T276*)((C)->_base_feature/*32*/))->_names/*8*/)),1)/*)*/);
  357. C->_arguments=((T276*)((C)->_base_feature/*32*/))->_arguments/*20*/;
  358. /*[IF*/
  359. if((((T0*)ms13_2695))==((void*)(_n))){
  360. _type_bit_ref=(C)->_current_type/*4*/;
  361. if(NULL!=(_type_bit_ref))switch(((T0*)_type_bit_ref)->id) {
  362. case 326: 
  363. break;
  364. default:
  365. _type_bit_ref=NULL;
  366. };C->_result_type=(((T326*)_type_bit_ref))->_type_bit/*4*/;
  367. /*[IF*/
  368. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  369. /*[IF*/
  370. if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  371. {T171*n=malloc(sizeof(*n));
  372. *n=M171;
  373. r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  374. C->_arguments=(T0*)n;
  375. }
  376. }
  377. /*FI]*/
  378. }
  379. /*FI]*/
  380. }
  381. else{
  382. C->_result_type=((T276*)((C)->_base_feature/*32*/))->_result_type/*48*/;
  383. /*[IF*/
  384. if(((C)->_arguments/*36*/)==((void*)(NULL))){
  385. C->_result_type=X62to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
  386. }
  387.  else if(X62is_like_argument((C)->_result_type/*40*/)){
  388. /*[IF*/
  389. if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  390. {T171*n=malloc(sizeof(*n));
  391. *n=M171;
  392. r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  393. C->_arguments=(T0*)n;
  394. }
  395. }
  396. /*FI]*/
  397. C->_result_type=X62to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
  398. }
  399. else{
  400. C->_result_type=X62to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
  401. /*[IF*/
  402. if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  403. {T171*n=malloc(sizeof(*n));
  404. *n=M171;
  405. r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  406. C->_arguments=(T0*)n;
  407. }
  408. }
  409. /*FI]*/
  410. }
  411. /*FI]*/
  412. }
  413. /*FI]*/
  414. /*[IF*/
  415. if(r54require_check((T54*)(oBC11run_control))){
  416. C->_require_assertion=r276run_require((T0*)C);
  417. }
  418. /*FI]*/
  419. /*[IF*/
  420. if(r54ensure_check((T54*)(oBC11run_control))){
  421. C->_ensure_assertion=r276run_ensure((T0*)C);
  422. }
  423. /*FI]*/
  424. /*[IF*/
  425. if((((T0*)ms13_1840))==((void*)(_n))){
  426. _rf=r313get_copy((T313*)(r324run_class(C)));
  427. }
  428.  else if((((T0*)ms13_8610))==((void*)(_n))){
  429. ((/*UT*/(void)((T256*)(r324type_string()))),r256set_at_run_time());
  430. }
  431.  else if((((T0*)ms13_30885))==((void*)(_n))){
  432. /*[IRF3.3set_generator_used*/((((T54*)((T54*)(oBC11run_control))))->_generator_used)=(1);
  433. /*]*/
  434. /*[IRF3.3set_generating_type_used*/((((T54*)((T54*)(oBC11run_control))))->_generating_type_used)=(1);
  435. /*]*/
  436. }
  437.  else if((((T0*)ms13_14130))==((void*)(_n))){
  438. /*[IRF3.3set_generator_used*/((((T54*)((T54*)(oBC11run_control))))->_generator_used)=(1);
  439. /*]*/
  440. }
  441.  else if((((T0*)ms13_13842))==((void*)(_n))){
  442. /*[IRF3.3set_used*/((((T336*)((T336*)(oBC11exceptions_handler))))->_used)=(1);
  443. /*]*/
  444. }
  445.  else if((((T0*)ms13_26351))==((void*)(_n))){
  446. /*[IRF3.3set_used*/((((T336*)((T336*)(oBC11exceptions_handler))))->_used)=(1);
  447. /*]*/
  448. }
  449. /*FI]*/
  450. }
  451. /*No:RUN_FEATURE_8.require_assertion*/
  452. /*No:RUN_FEATURE_8.us_generator*/
  453. /*No:RUN_FEATURE_8.us_generating_type*/
  454. /*No:RUN_FEATURE_8.us_se_argc*/
  455. /*No:RUN_FEATURE_8.us_exception*/
  456. /*No:RUN_FEATURE_8.clients_memory*/
  457. /*No:RUN_FEATURE_8.current_type*/
  458.  
  459.  
  460. void r324add_client(T324* C,T0* a1){
  461. T2 _i=0;
  462. /*[IF*/
  463. if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
  464. {T319*n=malloc(sizeof(*n));
  465. *n=M319;
  466. r319with_capacity(n,4);
  467. C->_actuals_clients=(T0*)n;
  468. }
  469. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  470. }
  471. else{
  472. _i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
  473. /*[IF*/
  474. if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
  475. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  476. }
  477. /*FI]*/
  478. }
  479. /*FI]*/
  480. r313add_client((T313*)(r324run_class(C)),a1);
  481. }
  482. /*No:RUN_FEATURE_8.us_signal_number*/
  483.  
  484.  
  485. void r324make(T324* C,T0* a1,T0* a2,T0* a3){
  486. C->_current_type=a1;
  487. C->_name=a2;
  488. C->_base_feature=a3;
  489. /*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r324run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
  490. /*]*/
  491. r42incr_magic_count((T42*)(oBC11small_eiffel));
  492. C->_use_current_state=15;
  493. r42push((T42*)(oBC11small_eiffel),(T0*)C);
  494. r324initialize(C);
  495. r42pop((T42*)(oBC11small_eiffel));
  496. }
  497. /*No:RUN_FEATURE_8.name*/
  498. /*No:RUN_FEATURE_8.local_vars*/
  499. /*No:RUN_FEATURE_8.us_bitn*/
  500.  
  501.  
  502. T0* r324clients(T324* C){
  503. T0* R=NULL;
  504. T0* _bfbc=NULL;
  505. T0* _bc=NULL;
  506. /*[IF*/
  507. if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
  508. _bc=X62base_class((C)->_current_type/*4*/);
  509. _bfbc=((T276*)((C)->_base_feature/*32*/))->_base_class/*4*/;
  510. /*[IF*/
  511. if((_bc)==((void*)(_bfbc))){
  512. R=((T276*)((C)->_base_feature/*32*/))->_clients/*16*/;
  513. }
  514. else{
  515. R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
  516. }
  517. /*FI]*/
  518. C->_clients_memory=R;
  519. }
  520. else{
  521. R=(C)->_clients_memory/*8*/;
  522. }
  523. /*FI]*/
  524. return R;
  525. }
  526.  
  527.  
  528. T0* r324type_string(void){
  529. if(fBC11type_string==0){
  530. fBC11type_string=1;
  531. {T256*n=malloc(sizeof(*n));
  532. *n=M256;
  533. r256make(n,NULL);
  534. oBC11type_string=(T0*)n;
  535. }
  536. }
  537. return oBC11type_string;}
  538.  
  539.  
  540. void r339add_procedure(T0* a1){
  541. r340add_last((T340*)(oBC339procedure_list),a1);
  542. }
  543. T0*oBC339procedure_list=NULL;
  544.  
  545.  
  546. void r339add_function(T0* a1){
  547. r343add_last((T343*)(oBC339function_list),a1);
  548. }
  549. T0*oBC339function_list=NULL;
  550.  
  551.  
  552. void r239anchor_cycle_start(T239* C){
  553. T2 _i=0;
  554. /*[IF*/
  555. if((((T38*)(oBC240visited))->_upper/*8*/)<(0)){
  556. r38add_last((T38*)(oBC240visited),(C)->_start_position/*4*/);
  557. }
  558.  else if(r38fast_has((T38*)(oBC240visited),(C)->_start_position/*4*/)){
  559. _i=0;
  560. while (!((_i)>(((T38*)(oBC240visited))->_upper/*8*/))) {
  561. r37add_position(/*(IRF4.6item*/(((T38*)(oBC240visited))->_storage/*0*/)[_i]/*)*/);
  562. _i=(_i)+(1);
  563. }
  564. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_47439);
  565. r37fatal_error((T37*)(oBC11eh),b1);
  566. }/*]*/
  567. }
  568. else{
  569. r38add_last((T38*)(oBC240visited),(C)->_start_position/*4*/);
  570. }
  571. /*FI]*/
  572. }
  573.  
  574.  
  575. void r239anchor_cycle_end(T239* C){
  576. /*[IF*/
  577. if(((C)->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/(((T38*)(oBC240visited))->_storage/*0*/)[0]/*)*//*)*/))){
  578. /*[IRF3.3clear*/((((T38*)((T38*)(oBC240visited))))->_upper)=(-(1));
  579. /*]*/
  580. }
  581. /*FI]*/
  582. }
  583.  
  584.  
  585. T0* r239generic_list(T239* C){
  586. T0* R=NULL;
  587. /*[IF*/
  588. if(r239is_generic(C)){
  589. R=X62generic_list((C)->_run_type/*16*/);
  590. }
  591. else{
  592. r239fatal_error_generic_list(C);
  593. }
  594. /*FI]*/
  595. return R;
  596. }
  597.  
  598.  
  599. T0* r239base_class(T239* C){
  600. T0* R=NULL;
  601. T0* _bcn=NULL;
  602. _bcn=r239base_class_name(C);
  603. /*[IF*/
  604. if((_bcn)!=((void*)(NULL))){
  605. R=r49base_class(((T49*)_bcn));
  606. }
  607. else{
  608. /*[IRF3.6append*/{T0* b1=((T0*)ms62_37098);
  609. r7append((T7*)(oBC37explanation),b1);
  610. }/*]*/
  611. r37add_type((T0*)C,((T0*)ms12_47));
  612. r37print_as_fatal_error((T37*)(oBC11eh));
  613. }
  614. /*FI]*/
  615. return R;
  616. }
  617.  
  618.  
  619. T0* r239base_class_name(T239* C){
  620. T0* R=NULL;
  621. R=X62base_class_name((C)->_run_type/*16*/);
  622. return R;
  623. }
  624. /*No:TYPE_LIKE_FEATURE.start_position*/
  625. /*No:TYPE_LIKE_FEATURE.is_formal_generic*/
  626.  
  627.  
  628. void r239used_as_reference(T239* C){
  629. X62used_as_reference((C)->_run_type/*16*/);
  630. }
  631.  
  632.  
  633. T6 r239is_a_in(T239* C,T0* a1,T0* a2){
  634. T6 R=0;
  635. T0* _ct=NULL;
  636. T0* _t2=NULL;
  637. T0* _t1=NULL;
  638. /*[IF*/
  639. if(((C)->_written_mark/*12*/)==((void*)(X62written_mark(a1)))){
  640. R=1;
  641. }
  642. else{
  643. _ct=(((T313*)a2))->_current_type/*0*/;
  644. _t1=r239to_runnable(C,_ct);
  645. _t2=X62to_runnable(a1,_ct);
  646. /*[IF*/
  647. if((X62run_time_mark(_t1))==((void*)(X62run_time_mark(_t2)))){
  648. R=1;
  649. }
  650. else{
  651. R=X62is_a(_t1,_t2);
  652. }
  653. /*FI]*/
  654. }
  655. /*FI]*/
  656. return R;
  657. }
  658.  
  659.  
  660. T2 r239id(T239* C){
  661. T2 R=0;
  662. R=((T313*)(r239run_class(C)))->_id/*4*/;
  663. return R;
  664. }
  665.  
  666.  
  667. T6 r239is_pointer(T239* C){
  668. T6 R=0;
  669. R=X62is_pointer((C)->_run_type/*16*/);
  670. return R;
  671. }
  672.  
  673.  
  674. T0* r239look_up_for(T239* C,T0* a1,T0* a2){
  675. T0* R=NULL;
  676. R=r41look_up_for((T41*)(r239base_class(C)),a1,a2);
  677. return R;
  678. }
  679.  
  680.  
  681. T0* r239to_runnable(T239* C,T0* a1){
  682. T0* R=NULL;
  683. T0* _rt=NULL;
  684. T0* _rc=NULL;
  685. r239anchor_cycle_start(C);
  686. _rc=X62run_class(a1);
  687. _rt=r313get_result_type(((T313*)_rc),(C)->_like_what/*8*/);
  688. /*[IF*/
  689. if(((C)->_run_type/*16*/)==((void*)(NULL))){
  690. C->_run_type=_rt;
  691. R=(T0*)C;
  692. }
  693.  else if(((C)->_run_type/*16*/)==((void*)(_rt))){
  694. R=(T0*)C;
  695. }
  696. else{
  697. {T239*n=malloc(sizeof(*n));
  698. *n=M239;
  699. r239with(n,(T0*)C,_rt);
  700. R=(T0*)n;
  701. }
  702. }
  703. /*FI]*/
  704. r239anchor_cycle_end(C);
  705. return R;
  706. }
  707. /*No:TYPE_LIKE_FEATURE.run_type*/
  708.  
  709.  
  710. T0* r239run_class(T239* C){
  711. T0* R=NULL;
  712. R=r42run_class((C)->_run_type/*16*/);
  713. return R;
  714. }
  715.  
  716.  
  717. T6 r239has_creation(T239* C,T0* a1){
  718. T6 R=0;
  719. R=X62has_creation((C)->_run_type/*16*/,a1);
  720. return R;
  721. }
  722.  
  723.  
  724. T0* r239expanded_initializer(T239* C){
  725. T0* R=NULL;
  726. R=X62expanded_initializer((C)->_run_type/*16*/);
  727. return R;
  728. }
  729. /*No:TYPE_LIKE_FEATURE.fz_cad*/
  730. /*No:TYPE_LIKE_FEATURE.is_like_current*/
  731.  
  732.  
  733. T6 r239is_boolean(T239* C){
  734. T6 R=0;
  735. R=X62is_boolean((C)->_run_type/*16*/);
  736. return R;
  737. }
  738.  
  739.  
  740. T6 r239is_generic(T239* C){
  741. T6 R=0;
  742. R=X62is_generic((C)->_run_type/*16*/);
  743. return R;
  744. }
  745.  
  746.  
  747. T6 r239is_bit(T239* C){
  748. T6 R=0;
  749. R=X62is_bit((C)->_run_type/*16*/);
  750. return R;
  751. }
  752.  
  753.  
  754. T6 r239is_real(T239* C){
  755. T6 R=0;
  756. R=X62is_real((C)->_run_type/*16*/);
  757. return R;
  758. }
  759. T0*oBC240visited=NULL;
  760.  
  761.  
  762. void r239with(T239* C,T0* a1,T0* a2){
  763. C->_start_position=(((T239*)a1))->_start_position/*4*/;
  764. C->_like_what=(((T239*)a1))->_like_what/*8*/;
  765. C->_written_mark=(((T239*)a1))->_written_mark/*12*/;
  766. C->_run_type=a2;
  767. }
  768.  
  769.  
  770. T0* r239smallest_ancestor(T239* C,T0* a1){
  771. T0* R=NULL;
  772. R=X62smallest_ancestor((C)->_run_type/*16*/,a1);
  773. return R;
  774. }
  775.  
  776.  
  777. T6 r239is_any(T239* C){
  778. T6 R=0;
  779. R=X62is_any((C)->_run_type/*16*/);
  780. return R;
  781. }
  782. /*No:TYPE_LIKE_FEATURE.fatal_error*/
  783.  
  784.  
  785. T0* r239run_time_mark(T239* C){
  786. T0* R=NULL;
  787. /*[IF*/
  788. if(((C)->_run_type/*16*/)!=((void*)(NULL))){
  789. R=X62run_time_mark((C)->_run_type/*16*/);
  790. }
  791. /*FI]*/
  792. return R;
  793. }
  794.  
  795.  
  796. T6 r239is_expanded(T239* C){
  797. T6 R=0;
  798. R=X62is_expanded((C)->_run_type/*16*/);
  799. return R;
  800. }
  801.  
  802.  
  803. T6 r239is_basic_eiffel_expanded(T239* C){
  804. T6 R=0;
  805. R=X62is_basic_eiffel_expanded((C)->_run_type/*16*/);
  806. return R;
  807. }
  808. /*No:TYPE_LIKE_FEATURE.fz_like*/
  809.  
  810.  
  811. T6 r239is_string(T239* C){
  812. T6 R=0;
  813. R=X62is_string((C)->_run_type/*16*/);
  814. return R;
  815. }
  816.  
  817.  
  818. T6 r239is_integer(T239* C){
  819. T6 R=0;
  820. R=X62is_integer((C)->_run_type/*16*/);
  821. return R;
  822. }
  823. /*No:TYPE_LIKE_FEATURE.is_like_feature*/
  824. /*No:TYPE_LIKE_FEATURE.fz_dot*/
  825. /*No:TYPE_LIKE_FEATURE.is_anchored*/
  826. /*No:TYPE_LIKE_FEATURE.is_run_type*/
  827.  
  828.  
  829. T6 r239is_a(T239* C,T0* a1){
  830. T6 R=0;
  831. T0* _tlf=NULL;
  832. /*[IF*/
  833. if(X62is_like_feature(a1)){
  834. _tlf=a1;
  835. if(NULL!=(_tlf))switch(((T0*)_tlf)->id) {
  836. case 239: 
  837. break;
  838. default:
  839. _tlf=NULL;
  840. };/*[IF*/
  841. if((X65to_string((C)->_like_what/*8*/))==((void*)(X65to_string((((T239*)_tlf))->_like_what/*8*/)))){
  842. R=1;
  843. }
  844. else{
  845. R=X62is_a((C)->_run_type/*16*/,a1);
  846. }
  847. /*FI]*/
  848. }
  849. else{
  850. R=X62is_a((C)->_run_type/*16*/,a1);
  851. }
  852. /*FI]*/
  853. /*[IF*/
  854. if(!(R)){
  855. r37add_position((C)->_start_position/*4*/);
  856. }
  857. /*FI]*/
  858. return R;
  859. }
  860.  
  861.  
  862. T6 r239is_character(T239* C){
  863. T6 R=0;
  864. R=X62is_character((C)->_run_type/*16*/);
  865. return R;
  866. }
  867.  
  868.  
  869. T6 r239is_reference(T239* C){
  870. T6 R=0;
  871. R=X62is_reference((C)->_run_type/*16*/);
  872. return R;
  873. }
  874. /*No:TYPE_LIKE_FEATURE.written_mark*/
  875. /*No:TYPE_LIKE_FEATURE.like_what*/
  876. /*No:TYPE_LIKE_FEATURE.tmp_written_mark*/
  877.  
  878.  
  879. void r239make(T239* C,T0* a1,T0* a2){
  880. C->_start_position=a1;
  881. C->_like_what=a2;
  882. r7copy((T7*)(((T0*)ms240_87371)),((T0*)ms12_1724));
  883. r7extend((T7*)(((T0*)ms240_87371)),'\40');
  884. X65declaration_in((C)->_like_what/*8*/,((T0*)ms240_87371));
  885. C->_written_mark=r66item(((T0*)ms240_87371));
  886. }
  887.  
  888.  
  889. T6 r239is_none(T239* C){
  890. T6 R=0;
  891. R=X62is_none((C)->_run_type/*16*/);
  892. return R;
  893. }
  894. /*No:TYPE_LIKE_FEATURE.pretty_print*/
  895.  
  896.  
  897. T6 r239is_array(T239* C){
  898. T6 R=0;
  899. R=X62is_array((C)->_run_type/*16*/);
  900. return R;
  901. }
  902.  
  903.  
  904. void r239fatal_error_generic_list(T239* C){
  905. r37add_type((T0*)C,((T0*)ms62_29184));
  906. r37print_as_fatal_error((T37*)(oBC11eh));
  907. }
  908. /*No:TYPE_LIKE_FEATURE.is_like_argument*/
  909.  
  910.  
  911. T6 r239is_double(T239* C){
  912. T6 R=0;
  913. R=X62is_double((C)->_run_type/*16*/);
  914. return R;
  915. }
  916. /*No:NATIVE_JVM_INVOKEVIRTUAL.fz_jvm_invokevirtual*/
  917.  
  918.  
  919. T0* r285language_name(void){
  920. T0* R=NULL;
  921. R=((T0*)ms12_38896);
  922. return R;
  923. }
  924. /*No:NATIVE_JVM_INVOKEVIRTUAL.pretty_print*/
  925. /*No:CALL_INFIX_POWER.feature_name*/
  926. /*No:CALL_INFIX_POWER.right_brackets*/
  927.  
  928.  
  929. T0* r178start_position(T178* C){
  930. T0* R=NULL;
  931. R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  932. return R;
  933. }
  934.  
  935.  
  936. T0* r178add_comment(T178* C,T0* a1){
  937. T0* R=NULL;
  938. /*[IF*/
  939. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  940. R=(T0*)C;
  941. }
  942. else{
  943. {T214*n=malloc(sizeof(*n));
  944. *n=M214;
  945. r214make(n,(T0*)C,a1);
  946. R=(T0*)n;
  947. }
  948. }
  949. /*FI]*/
  950. return R;
  951. }
  952.  
  953.  
  954. T2 r178to_integer(T178* C){
  955. T2 R=0;
  956. r178error(r178start_position(C),((T0*)ms12_45846));
  957. return R;
  958. }
  959.  
  960.  
  961. void r178bracketed_pretty_print(T178* C){
  962. r310put_character((T310*)(oBC11fmt),'\50');
  963. r178pretty_print(C);
  964. r310put_character((T310*)(oBC11fmt),'\51');
  965. }
  966.  
  967.  
  968. void r178print_op(T178* C){
  969. r310put_character((T310*)(oBC11fmt),'\40');
  970. /*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
  971. r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
  972. }/*]*/
  973. r310put_character((T310*)(oBC11fmt),'\40');
  974. }
  975.  
  976.  
  977. T0* r178to_runnable(T178* C,T0* a1){
  978. T0* R=NULL;
  979. T0* _rf=NULL;
  980. T0* _tbee=NULL;
  981. T0* _at=NULL;
  982. T0* _tt=NULL;
  983. T0* _a=NULL;
  984. T0* _t=NULL;
  985. _t=r178runnable_expression((C)->_target/*4*/,a1);
  986. _a=r178runnable_args((C)->_arguments/*8*/,a1);
  987. _tt=X89result_type(_t);
  988. _at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  989. /*[IF*/
  990. /*AF*//*AE*/
  991. /*FI]*/
  992. _rf=r178run_feature_for(C,_t,a1);
  993. /*[IF*/
  994. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  995. C->_target=_t;
  996. C->_arguments=_a;
  997. C->_run_feature=_rf;
  998. r178run_feature_match(C,a1);
  999. R=(T0*)C;
  1000. }
  1001.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  1002. R=(T0*)C;
  1003. }
  1004. else{
  1005. {T178*n=malloc(sizeof(*n));
  1006. *n=M178;
  1007. r178with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  1008. R=(T0*)n;
  1009. }
  1010. }
  1011. /*FI]*/
  1012. return R;
  1013. }
  1014. /*No:CALL_INFIX_POWER.fz_bad_argument*/
  1015. /*No:CALL_INFIX_POWER.fz_iinaiv*/
  1016.  
  1017.  
  1018. T0* r178result_type(T178* C){
  1019. T0* R=NULL;
  1020. T0* _tla=NULL;
  1021. R=X312result_type((C)->_run_feature/*16*/);
  1022. /*[IF*/
  1023. if(X62is_like_current(R)){
  1024. R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  1025. }
  1026. else{
  1027. _tla=R;
  1028. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1029. case 242: 
  1030. break;
  1031. default:
  1032. _tla=NULL;
  1033. };/*[IF*/
  1034. if((_tla)!=((void*)(NULL))){
  1035. R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  1036. }
  1037. /*FI]*/
  1038. }
  1039. /*FI]*/
  1040. return R;
  1041. }
  1042. /*No:CALL_INFIX_POWER.run_feature*/
  1043.  
  1044.  
  1045. T0* r178runnable_args(T0* a1,T0* a2){
  1046. T0* R=NULL;
  1047. R=r132to_runnable(((T132*)a1),a2);
  1048. /*[IF*/
  1049. if((R)==((void*)(NULL))){
  1050. r37add_position(r132start_position(((T132*)a1)));
  1051. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
  1052. r37fatal_error((T37*)(oBC11eh),b1);
  1053. }/*]*/
  1054. }
  1055. /*FI]*/
  1056. return R;
  1057. }
  1058.  
  1059.  
  1060. void r178with(T178* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1061. C->_target=a1;
  1062. C->_feature_name=a2;
  1063. C->_arguments=a3;
  1064. C->_run_feature=a4;
  1065. r178run_feature_match(C,a5);
  1066. }
  1067. /*No:CALL_INFIX_POWER.fatal_error*/
  1068.  
  1069.  
  1070. void r178run_feature_match(T178* C,T0* a1){
  1071. r178run_feature_has_result(C);
  1072. r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  1073. }
  1074. /*No:CALL_INFIX_POWER.arguments*/
  1075.  
  1076.  
  1077. T0* r178runnable_expression(T0* a1,T0* a2){
  1078. T0* R=NULL;
  1079. R=X89to_runnable(a1,a2);
  1080. /*[IF*/
  1081. if((R)==((void*)(NULL))){
  1082. r37add_position(X89start_position(a1));
  1083. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
  1084. r37fatal_error((T37*)(oBC11eh),b1);
  1085. }/*]*/
  1086. }
  1087. /*FI]*/
  1088. return R;
  1089. }
  1090. /*No:CALL_INFIX_POWER.left_brackets*/
  1091. /*No:CALL_INFIX_POWER.implicit_cast*/
  1092.  
  1093.  
  1094. void r178print_as_target(T178* C){
  1095. r310put_character((T310*)(oBC11fmt),'\50');
  1096. r178pretty_print(C);
  1097. r310put_character((T310*)(oBC11fmt),'\51');
  1098. r310put_character((T310*)(oBC11fmt),'\56');
  1099. }
  1100. /*No:CALL_INFIX_POWER.arg1*/
  1101.  
  1102.  
  1103. void r178run_feature_has_result(T178* C){
  1104. /*[IF*/
  1105. if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  1106. r37add_position(X312start_position((C)->_run_feature/*16*/));
  1107. r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  1108. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
  1109. r37fatal_error((T37*)(oBC11eh),b1);
  1110. }/*]*/
  1111. }
  1112. /*FI]*/
  1113. }
  1114.  
  1115.  
  1116. T0* r178run_feature_for(T178* C,T0* a1,T0* a2){
  1117. T0* R=NULL;
  1118. T0* _rc=NULL;
  1119. _rc=X62run_class(X89result_type(a1));
  1120. R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
  1121. return R;
  1122. }
  1123. /*No:CALL_INFIX_POWER.target*/
  1124.  
  1125.  
  1126. void r178error(T0* a1,T0* a2){
  1127. r37add_position(a1);
  1128. r37error((T37*)(oBC11eh),a2);
  1129. }
  1130. /*No:CALL_INFIX_POWER.precedence*/
  1131.  
  1132.  
  1133. void r178make(T178* C,T0* a1,T0* a2,T0* a3){
  1134. C->_target=a1;
  1135. {T121*n=malloc(sizeof(*n));
  1136. *n=M121;
  1137. r121make(n,r178operator(),a2);
  1138. C->_feature_name=(T0*)n;
  1139. }
  1140. {T132*n=malloc(sizeof(*n));
  1141. *n=M132;
  1142. /*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
  1143. /*]*/
  1144. C->_arguments=(T0*)n;
  1145. }
  1146. }
  1147. /*No:CALL_INFIX_POWER.is_current*/
  1148.  
  1149.  
  1150. void r178pretty_print(T178* C){
  1151. /*[IF*/
  1152. if((X89precedence((C)->_target/*4*/))==(13)){
  1153. X89pretty_print((C)->_target/*4*/);
  1154. }
  1155.  else if((9)>(X89precedence((C)->_target/*4*/))){
  1156. X89bracketed_pretty_print((C)->_target/*4*/);
  1157. }
  1158.  else if((9)<(X89precedence((C)->_target/*4*/))){
  1159. X89pretty_print((C)->_target/*4*/);
  1160. }
  1161.  else {/*AT*/X89bracketed_pretty_print((C)->_target/*4*/);
  1162. }
  1163. /*FI]*/
  1164. r178print_op(C);
  1165. /*[IF*/
  1166. if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
  1167. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1168. }
  1169.  else if((9)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  1170. X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1171. }
  1172.  else if((9)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  1173. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1174. }
  1175. /*AF*/else{
  1176. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1177. }
  1178. /*FI]*/
  1179. }
  1180. /*No:CALL_INFIX_POWER.is_void*/
  1181.  
  1182.  
  1183. T0* r178operator(void){
  1184. T0* R=NULL;
  1185. R=((T0*)ms13_95);
  1186. return R;
  1187. }
  1188. /*No:CALL_INFIX_POWER.us_pow*/
  1189. /*No:CALL_INFIX_POWER.atomic_precedence*/
  1190. /*No:ECHO.fz_b0*/
  1191.  
  1192.  
  1193. void r33sfr_connect(T33* C,T0* a1,T0* a2){
  1194. r33put_string(C,((T0*)ms33_26523));
  1195. r33put_string(C,a2);
  1196. r33put_string(C,((T0*)ms12_288));
  1197. r29connect_to(((T29*)a1),a2);
  1198. }
  1199. /*No:ECHO.verbose*/
  1200.  
  1201.  
  1202. void r33w_put_string(T0* a1){
  1203. r34put_string((T34*)(oBC1std_error),a1);
  1204. /*[IRF3.6flush*/{T34* C1=(T34*)(oBC1std_error);
  1205. fflush(stderr);
  1206. }/*]*/
  1207. }
  1208. T0*oBC1std_output=NULL;
  1209.  
  1210.  
  1211. void r33w_put_integer(T2 a1){
  1212. r34put_integer((T34*)(oBC1std_error),a1);
  1213. /*[IRF3.6flush*/{T34* C1=(T34*)(oBC1std_error);
  1214. fflush(stderr);
  1215. }/*]*/
  1216. }
  1217.  
  1218.  
  1219. void r33put_string(T33* C,T0* a1){
  1220. /*[IF*/
  1221. if((C)->_verbose/*0*/){
  1222. r36put_string((T36*)(oBC1std_output),a1);
  1223. /*[IRF3.6flush*/{T36* C1=(T36*)(oBC1std_output);
  1224. fflush(stdout);
  1225. }/*]*/
  1226. }
  1227. /*FI]*/
  1228. }
  1229. /*No:ECHO.make*/
  1230.  
  1231.  
  1232. void r33put_character(T33* C,T3 a1){
  1233. /*[IF*/
  1234. if((C)->_verbose/*0*/){
  1235. /*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_output);
  1236. T3 b1=a1;
  1237. putc(b1,((FILE*)(stdout)));
  1238. }/*]*/
  1239. /*[IRF3.6flush*/{T36* C1=(T36*)(oBC1std_output);
  1240. fflush(stdout);
  1241. }/*]*/
  1242. }
  1243. /*FI]*/
  1244. }
  1245.  
  1246.  
  1247. void r33put_integer(T33* C,T2 a1){
  1248. /*[IF*/
  1249. if((C)->_verbose/*0*/){
  1250. r36put_integer((T36*)(oBC1std_output),a1);
  1251. /*[IRF3.6flush*/{T36* C1=(T36*)(oBC1std_output);
  1252. fflush(stdout);
  1253. }/*]*/
  1254. }
  1255. /*FI]*/
  1256. }
  1257.  
  1258.  
  1259. void r33w_put_character(T3 a1){
  1260. /*[IRF3.6put_character*/{T34* C1=(T34*)(oBC1std_error);
  1261. T3 b1=a1;
  1262. putc(b1,((FILE*)(stderr)));
  1263. }/*]*/
  1264. /*[IRF3.6flush*/{T34* C1=(T34*)(oBC1std_error);
  1265. fflush(stderr);
  1266. }/*]*/
  1267. }
  1268. /*No:PROC_CALL_0.feature_name*/
  1269.  
  1270.  
  1271. void r146run_feature_match(T146* C){
  1272. r146run_feature_has_no_result(C);
  1273. /*[IF*/
  1274. if((X312arg_count((C)->_run_feature/*12*/))>(0)){
  1275. r37add_position(X65start_position((C)->_feature_name/*8*/));
  1276. r37add_position(X312start_position((C)->_run_feature/*12*/));
  1277. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms146_50512);
  1278. r37fatal_error((T37*)(oBC11eh),b1);
  1279. }/*]*/
  1280. }
  1281. /*FI]*/
  1282. }
  1283. /*No:PROC_CALL_0.arguments*/
  1284.  
  1285.  
  1286. T0* r146runnable_expression(T0* a1,T0* a2){
  1287. T0* R=NULL;
  1288. R=X89to_runnable(a1,a2);
  1289. /*[IF*/
  1290. if((R)==((void*)(NULL))){
  1291. r37add_position(X89start_position(a1));
  1292. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
  1293. r37fatal_error((T37*)(oBC11eh),b1);
  1294. }/*]*/
  1295. }
  1296. /*FI]*/
  1297. return R;
  1298. }
  1299.  
  1300.  
  1301. T0* r146start_position(T146* C){
  1302. T0* R=NULL;
  1303. R=X65start_position((C)->_feature_name/*8*/);
  1304. return R;
  1305. }
  1306.  
  1307.  
  1308. T0* r146add_comment(T146* C,T0* a1){
  1309. T0* R=NULL;
  1310. /*[IF*/
  1311. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  1312. R=(T0*)C;
  1313. }
  1314. /*AF*/else{
  1315. {T209*n=malloc(sizeof(*n));
  1316. *n=M209;
  1317. r209make(n,(T0*)C,a1);
  1318. R=(T0*)n;
  1319. }
  1320. }
  1321. /*FI]*/
  1322. return R;
  1323. }
  1324.  
  1325.  
  1326. void r146run_feature_has_no_result(T146* C){
  1327. /*[IF*/
  1328. if((X312result_type((C)->_run_feature/*12*/))!=((void*)(NULL))){
  1329. r37add_position(X312start_position((C)->_run_feature/*12*/));
  1330. r37add_position(X65start_position((C)->_feature_name/*8*/));
  1331. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms145_67122);
  1332. r37fatal_error((T37*)(oBC11eh),b1);
  1333. }/*]*/
  1334. }
  1335. /*FI]*/
  1336. }
  1337.  
  1338.  
  1339. T0* r146to_runnable(T146* C,T0* a1){
  1340. T0* R=NULL;
  1341. T0* _rf=NULL;
  1342. T0* _t=NULL;
  1343. _t=r146runnable_expression((C)->_target/*4*/,a1);
  1344. _rf=r146run_feature_for(C,_t,a1);
  1345. /*[IF*/
  1346. if(((C)->_run_feature/*12*/)==((void*)(NULL))){
  1347. C->_target=_t;
  1348. C->_run_feature=_rf;
  1349. r146run_feature_match(C);
  1350. R=(T0*)C;
  1351. }
  1352.  else if((_t)==((void*)((C)->_target/*4*/))){
  1353. R=(T0*)C;
  1354. }
  1355. else{
  1356. {T146*n=malloc(sizeof(*n));
  1357. *n=M146;
  1358. r146make(n,_t,(C)->_feature_name/*8*/);
  1359. R=(T0*)n;
  1360. }
  1361. R=r146to_runnable(((T146*)R),a1);
  1362. }
  1363. /*FI]*/
  1364. return R;
  1365. }
  1366. /*No:PROC_CALL_0.set_run_feature*/
  1367.  
  1368.  
  1369. T0* r146run_feature_for(T146* C,T0* a1,T0* a2){
  1370. T0* R=NULL;
  1371. T0* _rc=NULL;
  1372. _rc=X62run_class(X89result_type(a1));
  1373. R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*8*/,a2);
  1374. return R;
  1375. }
  1376. /*No:PROC_CALL_0.target*/
  1377. /*No:PROC_CALL_0.run_feature*/
  1378. /*No:PROC_CALL_0.end_mark_comment*/
  1379.  
  1380.  
  1381. void r146make(T146* C,T0* a1,T0* a2){
  1382. C->_target=a1;
  1383. C->_feature_name=a2;
  1384. }
  1385.  
  1386.  
  1387. void r146pretty_print(T146* C){
  1388. X89print_as_target((C)->_target/*4*/);
  1389. r310put_string((T310*)(oBC11fmt),X65to_string((C)->_feature_name/*8*/));
  1390. /*[IF*/
  1391. if(((T310*)(oBC11fmt))->_semi_colon_flag/*25*/){
  1392. r310put_character((T310*)(oBC11fmt),'\73');
  1393. }
  1394. /*FI]*/
  1395. }
  1396.  
  1397.  
  1398. T0* r146make_runnable(T146* C,T0* a1,T0* a2,T0* a3){
  1399. T0* R=NULL;
  1400. /*[IF*/
  1401. if(((C)->_run_feature/*12*/)==((void*)(NULL))){
  1402. C->_target=a1;
  1403. C->_run_feature=a3;
  1404. R=(T0*)C;
  1405. }
  1406. else{
  1407. {T146*n=malloc(sizeof(*n));
  1408. *n=M146;
  1409. r146make(n,a1,(C)->_feature_name/*8*/);
  1410. R=(T0*)n;
  1411. }
  1412. /*[IRF3.3set_run_feature*/((((T146*)(((T146*)R))))->_run_feature)=(a3);
  1413. /*]*/
  1414. }
  1415. /*FI]*/
  1416. return R;
  1417. }
  1418. /*No:PROC_CALL_0.arg_count*/
  1419. /*No:PROC_CALL_0.fatal_error*/
  1420.  
  1421.  
  1422. void r242anchor_cycle_start(T242* C){
  1423. T2 _i=0;
  1424. /*[IF*/
  1425. if((((T38*)(oBC240visited))->_upper/*8*/)<(0)){
  1426. r38add_last((T38*)(oBC240visited),(C)->_start_position/*4*/);
  1427. }
  1428.  else if(r38fast_has((T38*)(oBC240visited),(C)->_start_position/*4*/)){
  1429. _i=0;
  1430. while (!((_i)>(((T38*)(oBC240visited))->_upper/*8*/))) {
  1431. r37add_position(/*(IRF4.6item*/(((T38*)(oBC240visited))->_storage/*0*/)[_i]/*)*/);
  1432. _i=(_i)+(1);
  1433. }
  1434. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_47439);
  1435. r37fatal_error((T37*)(oBC11eh),b1);
  1436. }/*]*/
  1437. }
  1438. else{
  1439. r38add_last((T38*)(oBC240visited),(C)->_start_position/*4*/);
  1440. }
  1441. /*FI]*/
  1442. }
  1443.  
  1444.  
  1445. void r242anchor_cycle_end(T242* C){
  1446. /*[IF*/
  1447. if(((C)->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/(((T38*)(oBC240visited))->_storage/*0*/)[0]/*)*//*)*/))){
  1448. /*[IRF3.3clear*/((((T38*)((T38*)(oBC240visited))))->_upper)=(-(1));
  1449. /*]*/
  1450. }
  1451. /*FI]*/
  1452. }
  1453.  
  1454.  
  1455. T0* r242generic_list(T242* C){
  1456. T0* R=NULL;
  1457. /*[IF*/
  1458. if(r242is_generic(C)){
  1459. R=X62generic_list(r242run_type(C));
  1460. }
  1461. else{
  1462. r242fatal_error_generic_list(C);
  1463. }
  1464. /*FI]*/
  1465. return R;
  1466. }
  1467.  
  1468.  
  1469. T0* r242base_class(T242* C){
  1470. T0* R=NULL;
  1471. T0* _bcn=NULL;
  1472. _bcn=r242base_class_name(C);
  1473. /*[IF*/
  1474. if((_bcn)!=((void*)(NULL))){
  1475. R=r49base_class(((T49*)_bcn));
  1476. }
  1477. else{
  1478. /*[IRF3.6append*/{T0* b1=((T0*)ms62_37098);
  1479. r7append((T7*)(oBC37explanation),b1);
  1480. }/*]*/
  1481. r37add_type((T0*)C,((T0*)ms12_47));
  1482. r37print_as_fatal_error((T37*)(oBC11eh));
  1483. }
  1484. /*FI]*/
  1485. return R;
  1486. }
  1487.  
  1488.  
  1489. T0* r242base_class_name(T242* C){
  1490. T0* R=NULL;
  1491. R=X62base_class_name(r242run_type(C));
  1492. return R;
  1493. }
  1494. /*No:TYPE_LIKE_ARGUMENT.start_position*/
  1495. /*No:TYPE_LIKE_ARGUMENT.is_formal_generic*/
  1496.  
  1497.  
  1498. void r242used_as_reference(T242* C){
  1499. X62used_as_reference(r242run_type(C));
  1500. }
  1501.  
  1502.  
  1503. T6 r242is_a_in(T242* C,T0* a1,T0* a2){
  1504. T6 R=0;
  1505. T0* _ct=NULL;
  1506. T0* _t2=NULL;
  1507. T0* _t1=NULL;
  1508. /*[IF*/
  1509. if(((C)->_written_mark/*12*/)==((void*)(X62written_mark(a1)))){
  1510. R=1;
  1511. }
  1512. else{
  1513. _ct=(((T313*)a2))->_current_type/*0*/;
  1514. _t1=r242to_runnable(C,_ct);
  1515. _t2=X62to_runnable(a1,_ct);
  1516. /*[IF*/
  1517. if((X62run_time_mark(_t1))==((void*)(X62run_time_mark(_t2)))){
  1518. R=1;
  1519. }
  1520. else{
  1521. R=X62is_a(_t1,_t2);
  1522. }
  1523. /*FI]*/
  1524. }
  1525. /*FI]*/
  1526. return R;
  1527. }
  1528. /*No:TYPE_LIKE_ARGUMENT.rank*/
  1529. /*No:TYPE_LIKE_ARGUMENT.fz_bad_anchor*/
  1530.  
  1531.  
  1532. T2 r242id(T242* C){
  1533. T2 R=0;
  1534. R=((T313*)(r242run_class(C)))->_id/*4*/;
  1535. return R;
  1536. }
  1537.  
  1538.  
  1539. T6 r242is_pointer(T242* C){
  1540. T6 R=0;
  1541. R=X62is_pointer(r242run_type(C));
  1542. return R;
  1543. }
  1544.  
  1545.  
  1546. T0* r242look_up_for(T242* C,T0* a1,T0* a2){
  1547. T0* R=NULL;
  1548. R=r41look_up_for((T41*)(r242base_class(C)),a1,a2);
  1549. return R;
  1550. }
  1551.  
  1552.  
  1553. T0* r242to_runnable(T242* C,T0* a1){
  1554. T0* R=NULL;
  1555. T0* _rt=NULL;
  1556. T0* _rf=NULL;
  1557. r242anchor_cycle_start(C);
  1558. _rf=r42top_rf((T42*)(oBC11small_eiffel));
  1559. /*[IF*/
  1560. if((X312arguments(_rf))==((void*)(NULL))){
  1561. r37add_position((C)->_start_position/*4*/);
  1562. r37add_position(X312start_position(_rf));
  1563. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_10043);
  1564. r37fatal_error((T37*)(oBC11eh),b1);
  1565. }/*]*/
  1566. }
  1567. /*FI]*/
  1568. /*[IF*/
  1569. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  1570. C->_run_feature=_rf;
  1571. R=(T0*)C;
  1572. }
  1573.  else if(((C)->_run_feature/*16*/)==((void*)(_rf))){
  1574. R=(T0*)C;
  1575. }
  1576. else{
  1577. {T242*n=malloc(sizeof(*n));
  1578. *n=M242;
  1579. r242with(n,(T0*)C,_rf);
  1580. R=(T0*)n;
  1581. }
  1582. }
  1583. /*FI]*/
  1584. _rt=r242run_type(((T242*)R));
  1585. /*[IF*/
  1586. if(X62is_anchored(_rt)){
  1587. _rt=X62to_runnable(_rt,a1);
  1588. }
  1589. /*FI]*/
  1590. r242anchor_cycle_end(C);
  1591. return R;
  1592. }
  1593.  
  1594.  
  1595. T0* r242run_type(T242* C){
  1596. T0* R=NULL;
  1597. T0* _fal=NULL;
  1598. _fal=X312arguments((C)->_run_feature/*16*/);
  1599. R=r171type(((T171*)_fal),/*(IRF4.6rank*/(((T172*)((C)->_like_what/*8*/)))->_rank/*8*//*)*/);
  1600. /*[IF*/
  1601. if(X62is_run_type(R)){
  1602. R=X62run_type(R);
  1603. }
  1604. /*FI]*/
  1605. return R;
  1606. }
  1607.  
  1608.  
  1609. T0* r242run_class(T242* C){
  1610. T0* R=NULL;
  1611. R=r42run_class(r242run_type(C));
  1612. return R;
  1613. }
  1614.  
  1615.  
  1616. T6 r242has_creation(T242* C,T0* a1){
  1617. T6 R=0;
  1618. R=X62has_creation(r242run_type(C),a1);
  1619. return R;
  1620. }
  1621.  
  1622.  
  1623. T0* r242expanded_initializer(T242* C){
  1624. T0* R=NULL;
  1625. R=X62expanded_initializer(r242run_type(C));
  1626. return R;
  1627. }
  1628. /*No:TYPE_LIKE_ARGUMENT.fz_cad*/
  1629. /*No:TYPE_LIKE_ARGUMENT.run_feature*/
  1630. /*No:TYPE_LIKE_ARGUMENT.is_like_current*/
  1631.  
  1632.  
  1633. T6 r242is_boolean(T242* C){
  1634. T6 R=0;
  1635. R=X62is_boolean(r242run_type(C));
  1636. return R;
  1637. }
  1638.  
  1639.  
  1640. T6 r242is_generic(T242* C){
  1641. T6 R=0;
  1642. R=X62is_generic(r242run_type(C));
  1643. return R;
  1644. }
  1645.  
  1646.  
  1647. T6 r242is_bit(T242* C){
  1648. T6 R=0;
  1649. R=X62is_bit(r242run_type(C));
  1650. return R;
  1651. }
  1652.  
  1653.  
  1654. T6 r242is_real(T242* C){
  1655. T6 R=0;
  1656. R=X62is_real(r242run_type(C));
  1657. return R;
  1658. }
  1659.  
  1660.  
  1661. void r242with(T242* C,T0* a1,T0* a2){
  1662. C->_start_position=(((T242*)a1))->_start_position/*4*/;
  1663. C->_like_what=(((T242*)a1))->_like_what/*8*/;
  1664. C->_written_mark=(((T242*)a1))->_written_mark/*12*/;
  1665. C->_run_feature=a2;
  1666. }
  1667.  
  1668.  
  1669. T0* r242smallest_ancestor(T242* C,T0* a1){
  1670. T0* R=NULL;
  1671. R=X62smallest_ancestor(r242run_type(C),a1);
  1672. return R;
  1673. }
  1674.  
  1675.  
  1676. T6 r242is_any(T242* C){
  1677. T6 R=0;
  1678. R=X62is_any(r242run_type(C));
  1679. return R;
  1680. }
  1681. /*No:TYPE_LIKE_ARGUMENT.fatal_error*/
  1682.  
  1683.  
  1684. T0* r242run_time_mark(T242* C){
  1685. T0* R=NULL;
  1686. /*[IF*/
  1687. if((r242run_type(C))!=((void*)(NULL))){
  1688. R=X62run_time_mark(r242run_type(C));
  1689. }
  1690. /*FI]*/
  1691. return R;
  1692. }
  1693.  
  1694.  
  1695. T6 r242is_expanded(T242* C){
  1696. T6 R=0;
  1697. R=X62is_expanded(r242run_type(C));
  1698. return R;
  1699. }
  1700.  
  1701.  
  1702. T6 r242is_basic_eiffel_expanded(T242* C){
  1703. T6 R=0;
  1704. R=X62is_basic_eiffel_expanded(r242run_type(C));
  1705. return R;
  1706. }
  1707. /*No:TYPE_LIKE_ARGUMENT.fz_like*/
  1708.  
  1709.  
  1710. T6 r242is_string(T242* C){
  1711. T6 R=0;
  1712. R=X62is_string(r242run_type(C));
  1713. return R;
  1714. }
  1715.  
  1716.  
  1717. T6 r242is_integer(T242* C){
  1718. T6 R=0;
  1719. R=X62is_integer(r242run_type(C));
  1720. return R;
  1721. }
  1722. /*No:TYPE_LIKE_ARGUMENT.is_like_feature*/
  1723. /*No:TYPE_LIKE_ARGUMENT.fz_dot*/
  1724. /*No:TYPE_LIKE_ARGUMENT.is_anchored*/
  1725.  
  1726.  
  1727. T6 r242is_run_type(T242* C){
  1728. T6 R=0;
  1729. /*[IF*/
  1730. if(((C)->_run_feature/*16*/)!=((void*)(NULL))){
  1731. R=X62is_run_type(r242run_type(C));
  1732. }
  1733. /*FI]*/
  1734. return R;
  1735. }
  1736.  
  1737.  
  1738. T6 r242is_a(T242* C,T0* a1){
  1739. T6 R=0;
  1740. R=X62is_a(r242run_type(C),a1);
  1741. return R;
  1742. }
  1743.  
  1744.